问:有了域控的机器账户,请问可以使用 impacket 套件中的哪些工具?
如果你已经拥有了 域控(Domain Controller)的机器账户(即计算机账户),可以使用 Impacket 套件中的一些工具来执行横向移动、认证、信息收集等操作。尽管机器账户权限较低,但如果配置不当,可以被用于攻击。例如,如果域控允许某些服务使用机器账户进行认证,攻击者可利用它进一步渗透。
✅ 可用的 Impacket 工具列表(常见用法)
前提:你拥有域控的机器账户名与密码(如:
DC01$ / 密码)
1. secretsdump.py
- 功能:从域控导出 NTDS.dit、LSA secrets 等。
- 适用条件:需要有高权限(通常不适合机器账户,除非配置错误)。
- 如果机器账户被添加进 Backup Operators 组或者权限设置错误,可能可行。
secretsdump.py -just-dc 'TEST.LOCAL/DC01$':'Password123'
2. smbexec.py / wmiexec.py / psexec.py
- 功能:远程执行命令。
- 限制:机器账户通常没有远程登录权限,除非明确被授权。
- 但可尝试对自身或错误配置的主机使用。
smbexec.py 'TEST.LOCAL/DC01$':'Password123'@target-ip
3. rpcdump.py
- 功能:列举目标机器上的 RPC 接口。
- 适用场景:信息收集,无需高权限。
rpcdump.py 'TEST.LOCAL/DC01$':'Password123'@target-ip
4. lookupsid.py
- 功能:枚举目标主机的 SID 和用户。
- 适合低权限账户(包括机器账户)。
lookupsid.py 'TEST.LOCAL/DC01$':'Password123'@dc-ip
5. smbclient.py
- 功能:访问共享目录。
- 若机器账户被允许访问共享,则可用于列目录/上传/下载等。
smbclient.py 'TEST.LOCAL/DC01$':'Password123'@dc-ip
6. ticketer.py
- 功能:伪造 Kerberos TGT。
- 结合 krb5 票据使用(机器账户的 hash 可用)。
ticketer.py -nthash <NTLM_HASH> -domain-sid <SID> -domain TEST.LOCAL -user-id 500
7. getTGT.py / getST.py
- 功能:请求 TGT/ST 票据。
- 可用机器账户进行 Kerberos 身份验证。
getTGT.py -dc-ip <dc-ip> TEST.LOCAL/DC01\$ -pass 'Password123'
8. kerberoast.py
- 功能:获取服务票据并尝试破解服务账号密码(针对 SPN)。
- 机器账户也可发起 Kerberos 请求,只要能请求 TGT 就行。
⚠️ 注意事项
- 机器账户名结尾是
$(例如DC01$),认证时仍然用DC01$。 - Kerberos 时需要加
\转义或使用-user DC01\$。 - 机器账户权限通常受限,如果能访问高权限服务,可能是配置问题或攻击点。
如需进一步利用机器账户做 Kerberos relay、AS-REP roasting、DCSync 等操作,请说明你的目标和环境,我可以给出更精确的建议。